security.tsx 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { useParams } from 'common'
  2. import {
  3. PageHeader,
  4. PageHeaderDescription,
  5. PageHeaderMeta,
  6. PageHeaderSummary,
  7. PageHeaderTitle,
  8. } from 'ui-patterns/PageHeader'
  9. import { SecuritySettings } from '@/components/interfaces/Organization/SecuritySettings'
  10. import DefaultLayout from '@/components/layouts/DefaultLayout'
  11. import OrganizationLayout from '@/components/layouts/OrganizationLayout'
  12. import { OrganizationSettingsLayout } from '@/components/layouts/ProjectLayout/OrganizationSettingsLayout'
  13. import { UnknownInterface } from '@/components/ui/UnknownInterface'
  14. import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
  15. import type { NextPageWithLayout } from '@/types'
  16. const OrgSecuritySettings: NextPageWithLayout = () => {
  17. const { slug } = useParams()
  18. const showSecuritySettings = useIsFeatureEnabled('organization:show_security_settings')
  19. if (!showSecuritySettings) {
  20. return <UnknownInterface urlBack={`/org/${slug}`} />
  21. }
  22. return (
  23. <>
  24. <PageHeader size="small">
  25. <PageHeaderMeta>
  26. <PageHeaderSummary>
  27. <PageHeaderTitle>Security</PageHeaderTitle>
  28. <PageHeaderDescription>
  29. Organization-wide security controls and MFA enforcement
  30. </PageHeaderDescription>
  31. </PageHeaderSummary>
  32. </PageHeaderMeta>
  33. </PageHeader>
  34. <SecuritySettings />
  35. </>
  36. )
  37. }
  38. OrgSecuritySettings.getLayout = (page) => (
  39. <DefaultLayout>
  40. <OrganizationLayout title="Security">
  41. <OrganizationSettingsLayout>{page}</OrganizationSettingsLayout>
  42. </OrganizationLayout>
  43. </DefaultLayout>
  44. )
  45. export default OrgSecuritySettings